package com.enjoyor.soa.traffic.core.efoms.service;

import com.enjoyor.soa.traffic.core.efoms.domain.RepairsInfo;
import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface IRepairsInfoService {

	public RepairsInfo select(String id);

	public List<RepairsInfo> selectList(String repairsId, String repStatusCode, String devTypeCode, String devAreaCode,
			String devId, String devName, String key,String press, String repDeptIds, String startTime, String endTime);

	@SuppressWarnings("rawtypes")
	public Page selectPage(Page page,String repairsId, String repStatusCode, String devTypeCode, String devAreaCode,
			String key,String press, String repDeptIds, String startTime, String endTime);

	public ResultPojo insert(RepairsInfo repairsInfo, String userName);

	public ResultPojo edit(RepairsInfo repairsInfo, String userName);

	public ResultPojo delete(String repairsId, String userName);
	
	public ResultPojo audit(String repairsId, String userName,String isPass,String operExplain);
	
	public ResultPojo cancel(String repairsId, String userName,String operExplain,String operReasonCode,String operReasonName);
	
	public ResultPojo press(String repairsId, String userName,String operExplain);

	/**
	 * 获取操作记录数量
	 * @param date 默认传null，为当天时间
	 * @return
	 */
	Map<String, Object> getOperationCount(String startTime,String endTime);

    int countApplyRepairsInfo(String startTime, String endTime);

	int countRepPressInfo(String startTime, String endTime);
}
